package com.mine.service;



import com.mine.pojo.MineShopFans;
import com.mine.pojo.MineUser;
import com.mine.pojo.MineUserFeedback;
import com.mine.pojo.MineUserFeedbackCategory;
import com.mine.result.Result;
import com.mine.vo.LoginVo;
import com.mine.vo.Register;


public interface UserService {

	/**
	 * 
	 * @return 登陆成功，返回token
	 */
	public Result login(LoginVo vo);

	/**
	 * 
	 * @param vo
	 * @return 注册
	 */
	public Result register(Register vo);
	
	/**
	 * 
	 * @param token
	 * @return 获取根据token用户信息
	 */
	public Result getUserByToken(String token);
	
	/**
	 * 获取redis中存放的MineUser信息
	 * @param token
	 * @return
	 */
	public MineUser getRedisUserByToken(String token);
	
	/**
	 * 更新redis中存放的MineUser信息
	 * @param token
	 * @param user
	 * @return
	 */
	public void updateRedisUser(String token, MineUser user);
	

	public Result getItemList(int page, int rows);

	/**
	 * 修改用户密码
	 * @param token
	 * @param oldPassword
	 * @param newPassword
	 * @return
	 */
	public Result modifyPassword(String token, String oldPassword, String newPassword);
	
	/**
	 * 更新用户信息
	 * @param user
	 * @return
	 */
	public Result updateUserInfo(String token, MineUser user);

	public Result addUserFeedback(String token, MineUserFeedback userFeedback);

	public Result addUserFeedbackCategory(String token, MineUserFeedbackCategory feedbackCategory);

	public Result addUserFollowShop(String token, MineShopFans fans);

	public Result getUserMsgCount(String token);

	public Result getUserFeedbackCate();

	public Result saveUserFeedback(String token, MineUserFeedback userFeedback);
}
